package logic.serial.bean;

import bean.Equipo;
import bean.Logro;
import bean.Muerte;
import java.io.Serializable;
import java.util.*;
import util.Pair;

public class JuegoCTFSerial implements Serializable {

    private static final long serialVersionUID = 1L;
    private Map<String, Integer> mapaPuntosJugador;
    private Map<Integer, Map<String, Integer>> mapaPuntosJugadorTiempo;
    private List<MuerteSerial> muertes;
    private List<Pair<Logro, String>> logros;
    private boolean valido;
    private boolean terminado;
    private int tiempoInicio;
    private int tiempoFin;
    private Map<Equipo, Set<String>> equipos;
    private Equipo ganador;
    private Map<String, String> parametrosJuego;
    private Date fechaJuego;
    private List<AccionBanderaJuegoSerial> accionesBandera;
    private List<AccionBanderaCapturaSerial> capturas;
    private Map<Equipo, List<String>> capturadoresEnJuego;

    public JuegoCTFSerial() {
    }

    public Map<Equipo, Set<String>> getEquipos() {
        return equipos;
    }

    public void setEquipos(Map<Equipo, Set<String>> equipos) {
        this.equipos = equipos;
    }

    public boolean isValido() {
        return valido;
    }

    public void setEsValido(boolean valido) {
        this.valido = valido;
    }

    public Date getFechaJuego() {
        return fechaJuego;
    }

    public void setFechaJuego(Date fechaJuego) {
        this.fechaJuego = fechaJuego;
    }

    public Equipo getGanador() {
        return ganador;
    }

    public void setGanador(Equipo ganador) {
        this.ganador = ganador;
    }

    public List<Pair<Logro, String>> getLogros() {
        return logros;
    }

    public void setLogros(List<Pair<Logro, String>> logros) {
        this.logros = logros;
    }

    public Map<String, Integer> getMapaPuntosJugador() {
        return mapaPuntosJugador;
    }

    public void setMapaPuntosJugador(Map<String, Integer> mapaPuntosJugador) {
        this.mapaPuntosJugador = mapaPuntosJugador;
    }

    public Map<Integer, Map<String, Integer>> getMapaPuntosJugadorTiempo() {
        return mapaPuntosJugadorTiempo;
    }

    public void setMapaPuntosJugadorTiempo(Map<Integer, Map<String, Integer>> mapaPuntosJugadorTiempo) {
        this.mapaPuntosJugadorTiempo = mapaPuntosJugadorTiempo;
    }

    public List<MuerteSerial> getMuertes() {
        return muertes;
    }

    public void setMuertes(List<MuerteSerial> muertes) {
        this.muertes = muertes;
    }

    public Map<String, String> getParametrosJuego() {
        return parametrosJuego;
    }

    public void setParametrosJuego(Map<String, String> parametrosJuego) {
        this.parametrosJuego = parametrosJuego;
    }

    public boolean isTerminado() {
        return terminado;
    }

    public void setTerminado(boolean terminado) {
        this.terminado = terminado;
    }

    public int getTiempoFin() {
        return tiempoFin;
    }

    public void setTiempoFin(int tiempoFin) {
        this.tiempoFin = tiempoFin;
    }

    public int getTiempoInicio() {
        return tiempoInicio;
    }

    public void setTiempoInicio(int tiempoInicio) {
        this.tiempoInicio = tiempoInicio;
    }

    public List<AccionBanderaJuegoSerial> getAccionesBandera() {
        return accionesBandera;
    }

    public void setAccionesBandera(List<AccionBanderaJuegoSerial> accionesBandera) {
        this.accionesBandera = accionesBandera;
    }

    public Map<Equipo, List<String>> getCapturadoresEnJuego() {
        return capturadoresEnJuego;
    }

    public void setCapturadoresEnJuego(Map<Equipo, List<String>> capturadoresEnJuego) {
        this.capturadoresEnJuego = capturadoresEnJuego;
    }

    public List<AccionBanderaCapturaSerial> getCapturas() {
        return capturas;
    }

    public void setCapturas(List<AccionBanderaCapturaSerial> capturas) {
        this.capturas = capturas;
    }
}
